﻿/*
 * Created by SharpDevelop.
 * User: Miguel
 * Date: 08/10/2011
 * Time: 02:37 p.m.
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Collections.Generic;
namespace Business_Entity
{
	/// <summary>
	/// Description of BECliente.
	/// </summary>
	public class BECliente
    {
				
        private int idCliente;
        private String nombre;
        private String apellidoPaterno;        	
        private String apellidoMaterno;        
        private BETipoDocumento beTipoDocumento;       
        private String documentoIdentidad;
        private String sexo;
        private DateTime fechaNacimiento;        
        private String direccion;
        private String telefonoContacto;              
        private DateTime fechaCreacion;
        private DateTime fechaModificacion;        
        private BEEstadoCliente beEstadoCliente;
        private BECategoriaCliente beCategoriaCliente;        
		private BEUsuario beUsuario;                        
		
		public BEUsuario BeUsuario {
			get { return beUsuario; }
			set { beUsuario = value; }
		}
        
        private List<BEMascota> mascotas;        
        
        public BECliente(){
        	beTipoDocumento =  new BETipoDocumento();
        	beEstadoCliente = new BEEstadoCliente();
        	beCategoriaCliente =  new BECategoriaCliente();
        	beUsuario = new BEUsuario();
        }
        
        public BECliente(int idCliente, String nombre){
        	this.idCliente = idCliente;
        	this.nombre = nombre;
        }
        
        public BECliente(int idCliente, String nombres,
                         String apellidoPaterno, String apellidoMaterno,
                         String sexo, BETipoDocumento beTipoDocumento, 
                         String documentoIdentidad, DateTime fechaNacimiento, 
                         String direccion, DateTime fechaCreacion, 
                         DateTime fechaUltModificacion)
        {
        	this.idCliente = idCliente;
        	this.nombre = nombres;
        	this.apellidoPaterno = apellidoPaterno;
        	this.apellidoMaterno = apellidoMaterno;
        	this.sexo = sexo;
        	this.beTipoDocumento = beTipoDocumento;        	
        	this.documentoIdentidad = documentoIdentidad;
        	this.fechaNacimiento = fechaNacimiento;
        	this.direccion = direccion;
        	this.fechaCreacion = fechaCreacion;
        	this.fechaModificacion = fechaUltModificacion;        	
        }               
        
        public BEEstadoCliente BeEstadoCliente {
			get { return beEstadoCliente; }
			set { beEstadoCliente = value; }
		}
                
		public BECategoriaCliente BeCategoriaCliente {
			get { return beCategoriaCliente; }
			set { beCategoriaCliente = value; }
		}
        
        public BETipoDocumento BeTipoDocumento {
			get { return beTipoDocumento; }
			set { beTipoDocumento = value; }
		}
        
		public string ApellidoMaterno {
			get { return apellidoMaterno; }
			set { apellidoMaterno = value; }
		}        
        
        
        public int Id{
        	get{ return this.IdCliente;}
        	set{this.IdCliente = value;}
        }
        
		public string Sexo {
			get { return sexo; }
			set { sexo = value; }
		}        
        
		public DateTime FechaNacimiento {
			get { return fechaNacimiento; }
			set { fechaNacimiento = value; }
		}        
        
		public string Direccion {
			get { return direccion; }
			set { direccion = value; }
		}        
        
		public DateTime FechaCreacion {
			get { return fechaCreacion; }
			set { fechaCreacion = value; }
		}        
        
		public DateTime FechaModificacion {
			get { return fechaModificacion; }
			set { fechaModificacion = value; }
		}        
        
        public string DocumentoIdentidad{
			get { return documentoIdentidad; }
			set { documentoIdentidad = value; }
		}
       
        public int IdCliente
        {
            get { return idCliente; }
            set { idCliente = value; }
        }
        
        public String Nombre
        {
            get { return nombre; }
            set { nombre = value; }
        }

        public string ApellidoPaterno {
			get { return apellidoPaterno; }
			set { apellidoPaterno = value; }
		}        
        
        public void addMascota(BEMascota mascota)
        {
            mascota.Dueno = this;
            this.mascotas.Add(mascota);
        }
        
        public string TelefonoContacto {
			get { return telefonoContacto; }
			set { telefonoContacto = value; }
		}
        
                  //************* add by Edu*****************/// 
        public List<BEMascota> Mascotas
        {
            get { return mascotas; }
        }
        
    }
}
